package top.chmin.project.cloud.common.column.code.auto;

// field import auto
// #bind.field.id#

import top.chmin.project.cloud.common.entity.*;

/**
 * chmin
 * 2023-12-27 19:40:30
 * cloud-builder
 */
public class ColumnCodeFPC extends PreCondition {

    public ColumnCodeFPC() {
    }

    public ColumnCodeFPC(ColumnCodeFPC parent) {
        super(parent);
    }

    public ColumnCodeFPC forDelete() {
        type = "DELETE";
        return this;
    }

    public ColumnCodeFPC forCount() {
        type = "COUNT";
        return this;
    }

    public ColumnCodeFPC forDistinct() {
        type = "DISTINCT";
        return this;
    }

    public ColumnCodeFPC limit(int limit) {
        super.limit = limit;
        return this;
    }

    public ColumnCodeFPC sub() {
        return new ColumnCodeFPC(this);
    }

    public ColumnCodeFPC complete(boolean and) {
        finish(and);
        return parent == null ? this : (ColumnCodeFPC) parent;
    }

    public Condition toCondition() {
        return toCondition(ColumnCode.class, "cm_column_code");
    }

    // field fpc auto
// #bind.field.id#
    public Id id() {
        return new Id();
    }

    // #bind.field.createBy#
    public CreateBy createBy() {
        return new CreateBy();
    }
// $bind.field.id$

    // #bind.field.updateBy#
    public UpdateBy updateBy() {
        return new UpdateBy();
    }

    // #bind.field.createTime#
    public CreateTime createTime() {
        return new CreateTime();
    }
// $bind.field.createBy$

    // #bind.field.updateTime#
    public UpdateTime updateTime() {
        return new UpdateTime();
    }

    // #bind.field.fieldCode#
    public FieldCode fieldCode() {
        return new FieldCode();
    }
// $bind.field.updateBy$

    // #bind.field.codeName#
    public CodeName codeName() {
        return new CodeName();
    }

    public class Id extends LongFPCField<ColumnCodeFPC> {
        private Id() {
            super(ColumnCodeFPC.this, "id");
        }
    }
// $bind.field.createTime$

    public class CreateBy extends StringFPCField<ColumnCodeFPC> {
        private CreateBy() {
            super(ColumnCodeFPC.this, "create_by");
        }
    }

    public class UpdateBy extends StringFPCField<ColumnCodeFPC> {
        private UpdateBy() {
            super(ColumnCodeFPC.this, "update_by");
        }
    }
// $bind.field.updateTime$

    public class CreateTime extends LocalDateTimeFPCField<ColumnCodeFPC> {
        private CreateTime() {
            super(ColumnCodeFPC.this, "create_time");
        }
    }

    public class UpdateTime extends LocalDateTimeFPCField<ColumnCodeFPC> {
        private UpdateTime() {
            super(ColumnCodeFPC.this, "update_time");
        }
    }
// $bind.field.fieldCode$

    public class FieldCode extends StringFPCField<ColumnCodeFPC> {
        private FieldCode() {
            super(ColumnCodeFPC.this, "field_code");
        }
    }

    public class CodeName extends StringFPCField<ColumnCodeFPC> {
        private CodeName() {
            super(ColumnCodeFPC.this, "code_name");
        }
    }
// $bind.field.codeName$

}
